package com.zjj.learn.algorithmPlus.segment1.recursion;

/**
 * 使用递归求杨辉三角
 * 打印杨辉三角形
 *
 * @author zjj_admin
 * @date 2023/7/4 21:10
 */
public class PascalTriangle {


    /**
     * 获取杨辉三角第 i 行，第 j 列的数据
     *
     * @param i
     * @param j
     * @return
     */
    private static int element(int i, int j) {
        if (j == 0 || i == j) {
            return 1;
        }
        return element(i - 1, j - 1) + element(i - 1, j);
    }

    /**
     * 打印杨辉三角
     *
     * @param n
     */
    public static void print(int n) {
        for (int i = 0; i < n; i++) {
            for (int j = 0; j <= i; j++) {
                System.out.printf("%-4d", element(i, j));
            }
            System.out.println();
        }
    }
}
